package com.huizhan.web.model;

import javax.persistence.*;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.*;
import io.swagger.annotations.*;
import java.util.Date;

/**
 * @Description 通行规则 
 * @Author  yanluping@outlook.com
 * @Date 2020-01-09 19:15:53 
 */
@JsonIgnoreProperties({"hibernateLazyInitializer","handler"})
@Entity
@ApiModel(value =  "通行规则")
@Table ( name ="Access_Rule")
public class AccessRule  implements Serializable {

	private static final long serialVersionUID =  4935930878227187801L;

	/**
	 * 通行规则ID
	 */
	@ApiModelProperty(value = "通行规则ID")
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
   	@Column(name = "Access_Rule_Id" )
	private Long accessRuleId;

	/**
	 * 项目ID
	 */
	@ApiModelProperty(value = "项目ID")
   	@Column(name = "Project_Id" )
	private String projectId;

	/**
	 * 票种ID
	 */
	@ApiModelProperty(value = "票种ID")
   	@Column(name = "Ticket_Type_Id" )
	private Long ticketTypeId;

	/**
	 * 证件类型ID
	 */
	@ApiModelProperty(value = "证件类型ID")
   	@Column(name = "Document_Type_Id" )
	private Long documentTypeId;

	/**
	 * 类型名称
	 */
	@ApiModelProperty(value = "类型名称")
   	@Column(name = "Name" )
	private String name;

	/**
	 * 0 不人脸识别、1 人证核验、2 人脸识别、3 人证核验或人脸识别
	 */
	@ApiModelProperty(value = "0 不人脸识别、1 人证核验、2 人脸识别、3 人证核验或人脸识别")
   	@Column(name = "FaceMatch" )
	private Long faceMatch;

	/**
	 * 0 不采集、1 采集人脸后开门、2 采集现场照片
	 */
	@ApiModelProperty(value = "0 不采集、1 采集人脸后开门、2 采集现场照片")
   	@Column(name = "FaceCollect" )
	private Long faceCollect;

	/**
	 * 运行通行日期
	 */
	@ApiModelProperty(value = "运行通行日期")
   	@Column(name = "Days" )
	private String days;

	/**
	 * 允许通行次数
	 */
	@ApiModelProperty(value = "允许通行次数")
   	@Column(name = "Frequency" )
	private Long frequency;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "创建时间",example = "2018-10-01 12:18:48")
   	@Column(name = "CreateDate" )
	private Date createDate;

	public Long getAccessRuleId() {
		return this.accessRuleId;
	}

	public void setAccessRuleId(Long accessRuleId) {
		this.accessRuleId = accessRuleId;
	}

	public String getProjectId() {
		return this.projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public Long getTicketTypeId() {
		return this.ticketTypeId;
	}

	public void setTicketTypeId(Long ticketTypeId) {
		this.ticketTypeId = ticketTypeId;
	}

	public Long getDocumentTypeId() {
		return this.documentTypeId;
	}

	public void setDocumentTypeId(Long documentTypeId) {
		this.documentTypeId = documentTypeId;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Long getFaceMatch() {
		return this.faceMatch;
	}

	public void setFaceMatch(Long faceMatch) {
		this.faceMatch = faceMatch;
	}

	public Long getFaceCollect() {
		return this.faceCollect;
	}

	public void setFaceCollect(Long faceCollect) {
		this.faceCollect = faceCollect;
	}

	public String getDays() {
		return this.days;
	}

	public void setDays(String days) {
		this.days = days;
	}

	public Long getFrequency() {
		return this.frequency;
	}

	public void setFrequency(Long frequency) {
		this.frequency = frequency;
	}

	public Date getCreateDate() {
		return this.createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	@Override
	public String toString() {
		return "{" +
					"accessRuleId='" + accessRuleId + '\'' +
					"projectId='" + projectId + '\'' +
					"ticketTypeId='" + ticketTypeId + '\'' +
					"documentTypeId='" + documentTypeId + '\'' +
					"name='" + name + '\'' +
					"faceMatch='" + faceMatch + '\'' +
					"faceCollect='" + faceCollect + '\'' +
					"days='" + days + '\'' +
					"frequency='" + frequency + '\'' +
					"createDate='" + createDate + '\'' +
				'}';
	}

}
